package com.lxc.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5 {
    // MD5 加密方法，接受原值和 salt 作为参数
    public static String md5EncryptWithSalt(String input, String salt) throws NoSuchAlgorithmException {
        // 将原值和 salt 拼接
        String inputWithSalt = input + salt;
        // 获取 MD5 加密实例
        MessageDigest md = MessageDigest.getInstance("MD5");
        // 对拼接后的字符串进行加密
        byte[] messageDigest = md.digest(inputWithSalt.getBytes());
        StringBuilder hexString = new StringBuilder();
        // 将加密后的字节数组转换为十六进制字符串
        for (byte b : messageDigest) {
            String hex = Integer.toHexString(0xFF & b);
            if (hex.length() == 1) {
                hexString.append('0');
            }
            hexString.append(hex);
        }
        return hexString.toString();
    }
}
